package com.booksystem.service;

import com.booksystem.common.RestResult;
import com.booksystem.dto.AddDeliveryDTO;
import com.booksystem.dto.ConfigShippingMethodDTO;
import com.booksystem.dto.QueryDeliveryDetailDTO;
import com.booksystem.dto.UpdateDeliveryStatusDTO;
import com.booksystem.entity.DeliveryInfo;

/**
 * <p>
 * 物流配送服务接口
 * </p>
 * @author 段伟豪
 */
public interface DeliveryService {

    /**
     * 新增配送信息
     *
     * @param addDeliveryDTO 新增配送信息参数
     * @return RestResult 结果
     */
    RestResult<Boolean> addDelivery(AddDeliveryDTO addDeliveryDTO);

    /**
     * 更新配送状态
     *
     * @param updateDeliveryStatusDTO 更新配送状态参数
     * @return RestResult 结果
     */
    RestResult<Boolean> updateDeliveryStatus(UpdateDeliveryStatusDTO updateDeliveryStatusDTO);

    /**
     * 查询配送详情
     *
     * @param queryDeliveryDetailDTO 查询配送详情参数
     * @return RestResult 结果
     */
    RestResult<DeliveryInfo> queryDeliveryDetail(QueryDeliveryDetailDTO queryDeliveryDetailDTO);

    /**
     * 配置配送方式
     *
     * @param configShippingMethodDTO 配置配送方式参数
     * @return RestResult 结果
     */
    RestResult<Boolean> configShippingMethod(ConfigShippingMethodDTO configShippingMethodDTO);
}